﻿Public Class Thumbnail
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'Recebe a QueryString "file"
        Dim imagem As String = Request.QueryString("imagem")
        Dim width As Integer = Request.QueryString("w")
        Dim height As Integer = Request.QueryString("h")

        Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(Server.MapPath(imagem))

        'cria o thumbnail do object image, definindo sua altura e largura
        Dim thumbnail As System.Drawing.Image = img.GetThumbnailImage(width, height, faznada, IntPtr.Zero)

        Dim imgstream As New IO.MemoryStream
        thumbnail.Save(imgstream, System.Drawing.Imaging.ImageFormat.Jpeg)
        Dim imagemConteudo As New Byte()

        '// cria a memory stream para trabalhar com os bytes da imagem
        'MemoryStream imageStream = new MemoryStream();

        '// coloca a imagem na memory stream
        'thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg);

        '// cria um array de bytes com o tamanho da imagem
        'byte[] imageContent = new Byte[imageStream.Length];

        '// rebobina a memory stream
        'imageStream.Position = 0;

        '// carrega o array de bytes com a imagem
        'imageStream.Read(imageContent, 0, (int)imageStream.Length);

        '// modifica o cabeçalho "content-type" da página para "image/jpeg" e imprime a imagem.
        'Response.ContentType = "image/jpeg";
        'Response.BinaryWrite(imageContent);

        '}
        '//função complementar 
        'public bool ThumbnailCallback()
        '{
        'return true;
        '}
    End Sub

    Private Function faznada()
        Return True
    End Function
End Class